package com.snpic.appaw.module.insure.controller.app.vehicleregistration.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.*;

@Schema(description = "用户 APP - 车辆登记 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AppVehicleRegistrationRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("主键ID")
    private Long id;

    @Schema(description = "任务号")
    @ExcelProperty("任务号")
    private String taskNumber;

    @Schema(description = "姓名")
    @ExcelProperty("姓名")
    private String name;

    @Schema(description = "手机号")
    @ExcelProperty("手机号")
    private String phone;

    @Schema(description = "身份证号")
    @ExcelProperty("身份证号")
    private String idNo;

    @Schema(description = "座位数")
    @ExcelProperty("座位数")
    private String seatNum;

    @Schema(description = "所在公司名称")
    @ExcelProperty("所在公司名称")
    private String companyName;

    @Schema(description = "车架号")
    @ExcelProperty("车架号")
    private String vin;

    @Schema(description = "发动机号")
    @ExcelProperty("发动机号")
    private String engineNumber;

    @Schema(description = "初登日期")
    @ExcelProperty("初登日期")
    private LocalDateTime debutDate;

    @Schema(description = "常驻地")
    @ExcelProperty("常驻地")
    private String locations;

    @Schema(description = "车牌号")
    @ExcelProperty("车牌号")
    private String licensePlateNumber;

    @Schema(description = "投保方案(商业,交强,人车联动)")
    @ExcelProperty("投保方案(商业,交强,人车联动)")
    private String insurancePlan;

    @Schema(description = "品牌型号", example = "张三")
    @ExcelProperty("品牌型号")
    private String brandName;

    @Schema(description = "影像件地址", example = "https://www.iocoder.cn")
    @ExcelProperty("影像件地址")
    private String imageUrl;

    @Schema(description = "提交时间")
    @ExcelProperty("提交时间")
    private LocalDateTime submissionTime;

    @Schema(description = "领取时间/推送时间")
    @ExcelProperty("领取时间/推送时间")
    private LocalDateTime drawTime;

    @Schema(description = "任务状态0 - 未领取；1 - 已领取；2 - 已处理", example = "1")
    @ExcelProperty("任务状态0 - 未领取；1 - 已领取；2 - 已处理")
    private String taskStatus;

    @Schema(description = "领取人")
    @ExcelProperty("领取人")
    private String receiver;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "备注", example = "你说的对")
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "车主姓名", example = "王五")
    @ExcelProperty("车主姓名")
    private String carOwnerName;

    @Schema(description = "车主身份证证号")
    @ExcelProperty("车主身份证证号")
    private String carOwnerIdno;

    @Schema(description = "车主手机号")
    @ExcelProperty("车主手机号")
    private String carOwnerPhoneNo;

    @Schema(description = "被保人姓名", example = "王五")
    @ExcelProperty("被保人姓名")
    private String insuredName;

    @Schema(description = "被保人身份证证号")
    @ExcelProperty("被保人身份证证号")
    private String insuredIdno;

    @Schema(description = "被保人手机号")
    @ExcelProperty("被保人手机号")
    private String insuredPhoneNo;

    @Schema(description = "公司层级")
    @ExcelProperty("公司层级")
    private String companyLevel;

    @Schema(description = "员工关系")
    @ExcelProperty("员工关系")
    private String relation;

    @Schema(description = "岗位")
    @ExcelProperty("岗位")
    private String post;

    @Schema(description = "渠道 01(员工车) 02(自营转接业务) 03(徐州树恩) 04(申能财险员工车)")
    @ExcelProperty("渠道 01(员工车) 02(自营转接业务) 03(徐州树恩) 04(申能财险员工车)")
    private String channel;

    @Schema(description = "归属分公司id(申能财险员工车)")
    @ExcelProperty("归属分公司id(申能财险员工车)")
    private String branchOn;

    @Schema(description = "原始oracle中的id，用于数据迁移", example = "14832")
    @ExcelProperty("原始oracle中的id，用于数据迁移")
    private Long oldId;

}